package com.fastCms.business.frame.busi;

import com.fastCms.business.frame.exception.BusinessException;
import com.fastCms.business.frame.pojo.CloudUserModel;
import com.fastCms.business.frame.pojo.PageParam;
import com.fastCms.business.frame.pojo.entity.CloudUser;
import com.fastCms.business.frame.pojo.po.*;
import com.fastCms.business.frame.pojo.vo.CloudUserVO;
import com.fastCms.business.frame.response.ApiResponse;
import com.github.pagehelper.PageInfo;

import javax.servlet.http.HttpServletRequest;

/**
 * 哈密瓜科技 版权所有 © Copyright 2019<br>
 *
 * @Description: 登录权限控制<br>
 * @Project: hami <br>
 * @CreateDate: Created in 2019/3/7 下午3:48 <br>
 * @Author: <a href="lsquan666@163.com">lsquan</a>
 */
public interface CloudUserManageService {
    /**
     * @Description 登录验证
     * @Date 2019/3/12 上午11:13 lsquan
     */
    ApiResponse<CloudUserModel> loginAuth(CloudLoginUserPO loginUserPO, HttpServletRequest request);

    /**
     * @Description 新建或修改
     * @Date 2019/3/12 上午11:13 lsquan
     */
    ApiResponse<CloudUser> addCloudUser(AddCloudUserPO cloudUserPO) throws BusinessException;

    //删除系统用户
    ApiResponse deleteCloudUser(String userId);

    //更新系统用户
    ApiResponse<CloudUser> updateCloudUser(UpdateCloudUserPO updateCloudUserPO);

    ApiResponse resetPwd(UserResetPwdPO resetPwdPO);

    ApiResponse<PageInfo<CloudUserVO>> showPage(PageParam<CloudUserPO> cloudUserPO);

    ApiResponse<CloudUser> useRelRole(CloudUserRelRolePO param);

    ApiResponse changeStatus(CloudUserEditStatusPO param);


}
